// components/Tabs/Tabs.js
Component({
     /**
      *   里面存放的是 要从父组件中接收的数据
      */
     properties: {
          //要接收的数据的名称
          // aaa:{
          //      type:String,
          //      //value,默认值，有传值就不用value，没传值就用value的值
          //      value:""
          // }
          
          //父向子传值
          tabs:{//这里的tabs等同于设置data的数据
               type:Array,
               value:[]
          }
 
     },


     /**
      * 组件的初始数据
      */
     data: {
          
     },

     /**
      * 组件的方法列表，组件里面有方法属性，在这里写组件的方法，其他地方无效。  pages 页面直接同data同层级下编写方法。
      */
     methods: {
          
          itemTab(e){


               // 1. 绑定点击事件，需要在methods 中绑定
               // console.log(e);
               
               // 2. 获取被点击的索引
               const {index} = e.currentTarget.dataset

               // 5. 点击事件触发时
                    //触发父组件中的自定义事件，同时传递数据给 父组件
               this.triggerEvent("itemChange",{index:index} )

               

               // 3. 获取源数组
                    //比较严谨的写法，这里的获取数组两个方法都可以，但是简略写法 容易上手，严谨写法较规范
                    // let tabs = JSON.parse(JSON.stringify(this.data.tabs))
               // let {tabs} = this.data//简略的写法，这里的tabs已经不是从data中拿的了，是从properties拿的数据。

               // 4. 对数组循环
                    // 1. 给每个循环项的  选中属性（isActive） 改为false
                    // 2. 给当前的索引的  项  添加激活选中的效果
                    // tabs.forEach((v,i) =>
                    //      i===index?v.isActive=true:v.isActive=false
                    // );
                    
                    // this.setData({
                    //      tabs:tabs
                    // })
                    
          }

     }
})
